<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Tab 切换 锚链接</title>
</head>

<body>
    <!--
        https://www.jianshu.com/p/cc0ac7845ded
        这种方式的HTML结构相对比较简单，不需要使用隐藏的单选框作为媒介，而是使用锚链接和:target作为连接“选项”与“选项内容”之间的桥梁。

另外需要注意以下两点：

① 每个a标签的href属性须与其兄弟节点.content元素的id值一致
② .content元素与a标签的顺序不能更改


    -->
    <!--HTML-->
    <ul>
        <li>
            <div class="content" id="content1">选项一内容</div>
            <a href="#content1">选项一</a>
        </li>
        <li>
            <div class="content" id="content2">选项二内容</div>
            <a href="#content2">选项二</a>
        </li>
        <li>
            <div class="content" id="content3">选项三内容</div>
            <a href="#content3">选项三</a>
        </li>
    </ul>
    <!--
    ① “.content:target” 将锚链接指向的当前.content元素应用样式
② “.content:target+a” 将锚链接指向的当前.content元素后紧邻的a元素应用样式
-->
    <style>
        /*CSS*/
        * {
            margin: 0;
            padding: 0;
        }

        a {
            text-decoration: none;
            color: #000;
        }

        ul {
            position: relative;
            width: 300px;
            margin: 100px auto;
        }

        ul li {
            list-style: none;
        }

        ul li a {
            float: left;
            width: 100px;
            text-align: center;
            line-height: 30px;
            border: 1px solid #000;
            border-right: 0;
            box-sizing: border-box;
            cursor: pointer;
            transition: all .3s;
        }

        ul li:last-child a {
            border-right: 1px solid #000;
        }

        ul li .content {
            opacity: 0;
            position: absolute;
            left: 0;
            top: 31px;
            width: 100%;
            height: 300px;
            border: 1px solid #000;
            box-sizing: border-box;
            font-size: 24px;
            text-align: center;
            line-height: 300px;
            color: #fff;
            transition: all .3s;
        }

        ul li:nth-child(1) .content {
            background-color: #0f0;
        }

        ul li:nth-child(2) .content {
            background-color: #00f;
        }

        ul li:nth-child(3) .content {
            background-color: #f0f;
        }

        ul li .content:target {
            opacity: 1;
        }

        ul li .content:target+a {
            color: #fff;
            background-color: #000;
        }
    </style>
</body>

</html>